from random import choice

from matplotlib.cbook import contiguous_regions


class RandomWalk:
    """ 一个生成随机漫步数据的类 """
    def __init__(self, num_points=5000):
        """初始话随机漫步的属性"""
        self.num_points = num_points

        # 起点
        self.x_values = [0]
        self.y_values = [0]


    def fill_walk(self):
        while len(self.x_values) < self.num_points:
            """x的前进方向和前进距离"""
            x_direction = choice([1,-1])
            x_distance = choice([0,1,2,3,4])
            x_step = x_distance*x_direction

            """y的前进方向和距离"""
            y_direction = choice([1,-1])
            y_distance = choice([0,1,2,3,4])
            y_step = y_direction*y_distance

            """拒绝原地踏步"""
            if x_step==0 and y_step==0:
                continue
            next_x = self.x_values[-1]+x_step
            next_y = self.y_values[-1]+y_step
            self.x_values.append(next_x)
            self.y_values.append(next_y)


